//
// Description: 5777. 使数组元素相等的减少操作次数
// Created by Loading on 2021/6/7.
//

#include <bits/stdc++.h>

using namespace std;

int reductionOperations(vector<int> &nums) {
    sort(nums.begin(), nums.end());
    int res = 0;//所有操作次数总和
    int cnt = 0;//每个元素操作次数

    //排序后，元素顺序单调不减
    for (int i = 1; i < nums.size(); ++i) {
        //当前元素和前一个元素不同，需要增加操作次数
        /* 需要不断累加 cnt，因为越大的元素需要的操作次数越多 */
        if (nums[i] != nums[i - 1]) {
            ++cnt;
        }
        //将当前元素需要的操作次数累加到总操作次数里
        res += cnt;
    }

    return res;
}

int main() {
    vector<int> nums = {5, 1, 3};
    cout << reductionOperations(nums) << endl;
}